<?php
namespace app\admin\controller;

class Index extends Base
{
    // 首页框架
    public function index()
    {
        if(! session('?user_id')) {
            $this->redirect('admin/index/login');
        }
        
        return $this->fetch();
    }
    
    // 登录
    public function login()
    {
        if(request()->isPost()) {
            $post = request()->only(['account', 'pwd'], 'post');
            
            if(empty($post['account']) or empty($post['pwd'])) {
                err('', '账号或密码错误');
            }
            
            $result = db('customer')->where(['username' => $post['account']])
                ->field("id, mobile, username, name, pwd, status, expire, rules")
                ->find();
            
            // 查找不到
            if(! $result) {
                err('', '账号与密码不匹配');
            }
            
            if($result['status'] != 1) {
                err('', '账号已禁用，请联系管理员');
            }
            
            // 密码不正确
            if(md5($post['pwd'] . $this->adminSign) != $result['pwd']) {
                err('', '账号与密码不匹配');
            }
            
            $rules = explode(',', $result['rules']);
            session('user_id', $result['id']);
            session("user_account", $result['username']);
            session('user_name', $result['name']);
            session('user_auth', $rules);
            
            // 验证成功
            suc('', '验证成功');
        }
        
        // 默认登录失败
        return $this->fetch();
    }
    
    // 验证码检测
    public function check($code = '')
    {
        $captcha = new \think\captcha\Captcha();
        if(! $captcha->check($code)) {
            $this->error('验证码错误,请从新输入....');
        }
    }
    
    // 登出
    public function logout()
    {
        session('user_id', null);
        session('user_account', null);
        session('user_name', null);
        session('user_auth', null);
        return $this->redirect('admin/index/login');
    }
    
    // 欢迎页面
    public function welcome()
    {
        return $this->fetch();
    }
}